unit ProcedureUnit;

interface

uses SysUtils,ExtCtrls, Afficher, StdCtrls;

Procedure Sauver(Image : Timage; SacPos, Joueur : byte; Score, Tour : integer; Lettres : String; PremLettre : Boolean);

Function LettreUtilisees(Str : String; X, Y : Byte; Hor : Boolean): String;

Function ValeurLettreRestantes(Str : String):Byte;

Var ScoresSave, TourSave : integer;
    SacPosSave, JoueurSave : byte;
    Tab : afficher.TabloCarre;
    Plateau : afficher.tabloLettre;
    LettresSave : String;
    PremLettreSave : Boolean;

implementation

Procedure Sauver(Image : Timage; SacPos, Joueur : byte; Score, Tour : integer; Lettres : String; PremLettre : Boolean);
Begin
    Image.Picture.SaveToFile('Tmp.bmp');
    SacPosSave := SacPos;
    Tab := Afficher.Tab;
    Plateau := afficher.Plateau;
    ScoresSave := Score;
    JoueurSave := Joueur;
    LettresSave := Lettres;
    TourSave := Tour;
    PremLettreSave := PremLettre;
End;



Function LettreUtilisees(Str : String; X, Y : Byte; Hor : Boolean): String;
Var I : Byte;
Begin

IF Hor Then
  For I := X To X + Length(Str) - 1 Do
    Begin
      IF Afficher.Plateau[I,Y] <> '' Then
        Delete(Str,Pos(Afficher.plateau[I,Y],Str),1);
    End
Else
  For I := Y To Y + Length(Str) - 1 Do
    Begin
      IF Afficher.Plateau[X,I] <> '' Then
        Delete(Str,Pos(Afficher.plateau[X,I],Str),1);
    End;

Result := Str;

End;

Function ValeurLettreRestantes(Str : String):Byte;
Var I : Byte;
Begin
  Result := 0;
  For I := 1 To Length(Str) Do
    Result := Result + Afficher.valeurLettre[Ord(Str[I]) - 64];


End;

end.
